home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
k
/
kids7.dms
/
kids7.adf
/
forest.amos
/
forest.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1992-10-04
|
6KB
|
176 lines
Dim QUIZ$(10),GOA$(10),WRONG1$(10),WRONG2$(10),COUNT(10)
Global LIP,BON,TL,CW1$,CW2$,CW3$,CW4$,CW5$,QUIZ$(),GOA$(),WRONG1$(),WRONG2$(),COUNT()
Global IX,MZ,ANSW,NAME$,SCORE,LEVEL,XX$,ANS1$,ANS2$,ANS3$,QSET,FLW,FLY,FLOCK,XTREE
STUP : PUSS
Procedure PUSS
Do
PICK
Repeat
TEX
Until MZ=ANSW
Exit If FLOCK=10
QSET=0
DAVE
UPO
Loop
FOUND
End
End Proc
Procedure STUP
Colour Back $70 : Music 1 : Screen Close 0 : Get Fonts
STRIPPER
Extension_5_0120 "kids-7:bits/pic.abk",10 : UPO : Channel 1 To Bob 1 : Limit Mouse 129,152 To 433,219
CW1$="A 0,(1,10)(2,10)(3,10)"
CW2$="A 0,(4,10)(5,10)(6,10); M 0,-30,50; M 78,0,50;"
CW3$="A 0,(1,10)(2,10)(3,10); M -160,0,50;"
CW4$="A 0,(4,10)(5,10)(6,10)" : CW4$=CW4$+"L: M 5,0,50; M -5,0,50; P J L"
CW5$="A 0,(4,10)(5,10)(6,10); M 0,12,50; M 164,0,50"
Screen Open 1,320,32,32,Lowres : Screen Hide 1 : Get Palette 0 : Cls 0 : Set Font 3
Ink 5,31 : Screen 0 : FLW=7 : FLY=290 : FLOCK=0
If LEVEL=1 Then WLT$="quiz1.dat"
If LEVEL=2 Then WLT$="quiz2.dat"
If LEVEL=3 Then WLT$="quiz3.dat"
Open In 1,"KIDS-7:bits/"+WLT$
For N=1 To 10 : Input #1,QUIZ$(N),GOA$(N),WRONG1$(N),WRONG2$(N) : Next N : Close 1 : Wait 10
For M=1 To 10 : COUNT(M)=0 : Next M
For N=1 To 10
Repeat
I=Rnd(9)+1 : NUG=False
For M=1 To 10
If COUNT(M)=I Then NUG=True
Next M
Until NUG=False
COUNT(N)=I
Next N
IX=1 : QSET=0
End Proc
Procedure PICK
Inc FLOCK
For N=1 To FLOCK
XTREE=Rnd(220)+64 : FLY=Rnd(30)+250 : FLW=Rnd(1) : If FLW=0 Then FLW=7 Else FLW=16
Paste Bob XTREE,FLY,FLW
Next N
CHAP
Screen Show 0
End Proc
Procedure DAVE
Sam Play 14,3,9000
Fade 3,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,$70,
Wait 22 : Sam Play 14,3,9000 : Wait 22 : Reserve Zone : Amal Off : Bob Off : Screen Close 0 : Inc IX
Bob Off 15
End Proc
Procedure UPO
Unpack 10 To 0 : Screen Hide 0 : Screen Display 0,124,-32,, : Double Buffer
Reserve Zone 3
Set Zone 1,19,228 To 37,251
Set Zone 2,138,200 To 157,224
Set Zone 3,268,198 To 283,223
End Proc
Procedure CHAP
Bob 1,150,220,1 : Amal 1,CW4$ : Amal On 1
End Proc
Procedure GROB
Screen 0
Repeat
MK=Mouse Key : MZ=Mouse Zone
Until MK>0 and MZ>0
PBV=2000
For N=3 To 6
PBV=PBV+2000
Bob N,158,,12 : Sam Play 6,2,PBV : Wait 2
Bob N,158,,13 : Sam Play 9,2,PBV : Wait 4
Bob N,158,,14 : Sam Play 6,2,PBV : Wait 6
Bob Off N
Next N
If MZ=1
Get Bob 15,8,203 To 36,280 : Amal Off 1
Bob 15,8,203,15 : Wait Vbl : Amal 1,CW3$ : Amal On 1 : While Chanmv(1) : Wend
If MZ<>ANSW
Amal Off 1 : Sam Play 9,1,10000 : Wait 10 : Sam Play 6,1,7000 : Wait 20
C$="A 0,(4,10)(5,10)(6,10); M 160,0,50;" : Amal 1,C$
Amal On 1 : While Chanmv(1) : Wend
End If
End If
If MZ=2
Get Bob 15,229,182 To 275,241 : Amal Off 1
Bob 15,229,182,15 : Wait Vbl : Amal 1,CW2$ : Amal On 1 : While Chanmv(1) : Wend
If MZ<>ANSW
Amal Off 1 : Sam Play 9,1,10000 : Wait 10 : Sam Play 6,1,7000 : Wait 20
C$="A 0,(1,10)(2,10)(3,10); M -78,0,50; M 0,30,50;" : Amal 1,C$
Amal On 1 : While Chanmv(1) : Wend
End If
End If
If MZ=3
Get Bob 15,315,234 To 345,288 : Amal Off 1
Bob 15,315,234,15 : Wait Vbl : Amal 1,CW5$ : Amal On 1 : While Chanmv(1) : Wend
If MZ<>ANSW
Amal Off 1 : Sam Play 9,1,10000 : Wait 10 : Sam Play 6,1,7000 : Wait 20
C$="A 0,(1,10)(2,10)(3,10); M -164,0,50; M 0,-12,50" : Amal 1,C$
Amal On 1 : While Chanmv(1) : Wend
End If
End If
End Proc
Procedure TEX
TX$=QUIZ$(COUNT(IX)) : BON=8
STUN
RIGHT[TX$] : TXP=((320-TL)+10)/2
For N=330 To 300 Step -1
Bob 3,TXP,N,8 : Wait Vbl
Next N
TAX
GROB
End Proc
Procedure TAX
If QSET=0
ANS1$=GOA$(COUNT(IX)) : ANS2$=WRONG1$(COUNT(IX)) : ANS3$=WRONG2$(COUNT(IX))
R=Rnd(5)+1
If R=1 : ANSW=1 : End If
If R=2 : Swap ANS2$,ANS3$ : ANSW=1 : End If
If R=3 : Swap ANS3$,ANS1$ : Swap ANS2$,ANS1$ : ANSW=3 : End If
If R=4 : Swap ANS1$,ANS3$ : ANSW=3 : End If
If R=5 : Swap ANS1$,ANS3$ : Swap ANS3$,ANS2$ : ANSW=2 : End If
If R=6 : Swap ANS1$,ANS2$ : ANSW=2 : End If
ANS1$="Path 1 = "+ANS1$ : ANS2$="Path 2 = "+ANS2$ : ANS3$="Path 3 = "+ANS3$
QSET=1
End If
STUN : BON=9 : RIGHT[ANS1$] : TXP=(320-TL)/2
For N=1 To 80 Step 4
Bob 6,TXP,N,BON : Wait Vbl
Next N
STUN : BON=10 : RIGHT[ANS2$] : TXP=(320-TL)/2
For N=1 To 112 Step 4
Bob 5,TXP,N,BON : Wait Vbl
Next N
STUN : BON=11 : RIGHT[ANS3$] : TXP=(320-TL)/2
For N=1 To 144 Step 4
Bob 4,TXP,N,BON : Wait Vbl
Next N
End Proc
Procedure STUN
Screen 1 : Paste Icon 0,0,1
For N=16 To 320 Step 16
Paste Icon N,0,2
Next N
End Proc
Procedure RIGHT[TX$]
Screen 1 : Text 10,20,TX$ : TL=Text Length(TX$) : Paste Icon TL+10,0,3
Get Bob 1,BON,0,0 To TL+20,32 : Wait Vbl : Screen 0
End Proc
Procedure FOUND
BON=8 : TX$=" Score:"+Str$(SCORE) : STUN : RIGHT[TX$]
For N=330 To 300 Step -1
Bob 3,50,N,8 : Wait Vbl
Next N
Wait 100 : Amal Off : Bob Off : Reserve Zone : Limit Mouse
Dim STORE(31) : For N=0 To 31 : STORE(N)=Colour(N) : Next N
Fade 3,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,
Colour Back $BBB : Wait 45 : Cls 21 : For N=0 To 31 : Colour N,STORE(N) : Next N : Wait 2
Cls 21 : Ink 5,21
A$=NAME$+"|"+Str$(LEVEL)+"/"+XX$+"\"+Str$(SCORE) : Command Line$=A$
Run "KIDS-7:cards.amos"
End Proc
Procedure STRIPPER
A$=Command Line$ : A=Instr(A$,"|") : B=Instr(A$,"/") : C=Instr(A$,"\") : L=Len(A$)
NAME$=Left$(A$,A-1) : L$=Mid$(A$,A+1,B-A-1) : LEVEL=Val(L$)
XX$=Mid$(A$,B+1,C-B-1) : S$=Right$(A$,L-C) : SCORE=Val(S$) : Mid$(XX$,3,1)="."
End Proc